<?php

/**
 * ClassName:历史记录
 * @auditor LeiJunXiang
 * @time 2024/12/04
 */

namespace app\modelOpreate\onlineChat;

use app\modelOpreate\ModelOpeBase;
use think\facade\Db;

class HistoryRecordOpe extends ModelOpeBase
{
    const TOOL_HISTORY_RECORD_OPE = "HistoryRecordOpe";

    /**
     * 保存列表
     * @return void
     */
    public function saveList($arr)
    {
        $db = Db::table($this->table);
        $flag = $db->insert($arr);
        return $flag;
    }

    /**
     * 获取最新发送时间和消息内容(房间号,用户id)
     */
    public function getNewSendTime($roomId, $userId)
    {

        $arr = Db::table($this->table)
            ->where('roomNumber', $roomId)
//            ->where('userId', '<>', $userId) // 用户ID不等于传入的用户ID
            ->order('sendTime', 'desc') // 按发送时间降序排列
            ->field('sendTime,sendContent,userId') // 选择需要的字段
            ->find(); // 获取第一条记录
        return $arr;
    }

    /**
     * 获取历史记录(房间号,页数,条数)
     */
    public function getHistoryRecordByRoomNumber($roomNumber, $page, $limit)
    {
        $offset = ($page - 1) * $limit;
        $arr = Db::table($this->table)
            ->where('roomNumber', $roomNumber)
            ->order('sendTime', 'desc')
            ->field('sendTime,sendContent,userId')
            ->limit($offset, $limit)
            ->select()
            ->toArray();
        return $arr;
    }


}